package Month09.day0908;

import java.util.Scanner;

public class NiuKe {
    public static void main9(String[] args) {
        //有一个有序数字序列，从小到大排序，将一个新输入的数插入到序列中，保证插入新数后，序列仍然是升序
        Scanner sc = new Scanner(System.in);
        int a = sc.nextInt();
        int[] arr = new int[a];
        for (int i = 0; i < arr.length; i++) {
            arr[i] = sc.nextInt();
        }
        int b = sc.nextInt();
        int[] arr1 = new int[a + 1];
        if(b < arr[arr.length - 1]) {
            int count = 0;//arr数组计数器
            int count1 = 0;//arr1数组计数器
            int count2 = 0;//对于b的计数器
            while (count1 < arr1.length) {
                if (arr[count] < b) {
                    arr1[count1] = arr[count];
                }
                if (arr[count] >= b && count2 == 0) {
                    arr1[count1] = b;
                    count2++;
                    count1++;
                    continue;
                }
                if (arr[count] > b) {
                    arr1[count1] = arr[count];
                }
                count++;
                count1++;
            }
        }else{
            for (int i = 0; i < arr.length; i++) {
                arr1[i] = arr[i];
            }
            arr1[arr.length] = b;
        }
        for(int i: arr1 ){
            System.out.print(i + " ");
        }
    }//BC88 有序序列插入一个数
    public static void main8(String[] args) {
        //今年是2019年，KiKi想知道1~2019中有多少个包含数字9的数。包含数字的数是指有某一位是“9”的数，例如“2019”、“199”等。
        int count = 0;//计数器
        for(int i = 9;i <= 2019;i++) {
            int key = i;
            while (key != 0) {
                if (key % 10 == 9) {
                    count++;
                    break;
                }
                key /= 10;
            }
        }
        System.out.println(count);
    }//BC85 包含数字9的数
    public static void main7(String[] args) {
        //KiKi学习了循环，BoBo老师给他出了一系列打印图案的练习，该任务是打印用“*”组成的箭形图案
        Scanner sc = new Scanner(System.in);
        while(sc.hasNext()){
            int a = sc.nextInt();
            for(int i = a;i > 0 ;i--){
                for(int j = i;j > 0;j--){
                    System.out.print("  ");
                }
                for(int j = 0;j <= a-i;j++){
                    System.out.print("*");
                }
                System.out.println();
            }
            for(int i = 0;i < a+1;i++){
                System.out.print("*");
            }
            System.out.println();
            for(int i = a;i > 0 ;i--){
                for(int j = 0;j <= a - i;j++){
                    System.out.print("  ");
                }
                for(int j = i;j > 0;j--){
                    System.out.print("*");
                }
                System.out.println();
            }
        }
        sc.close();
    }//BC65 箭形图案
    public static void main6(String[] args) {
        //KiKi学习了循环，BoBo老师给他出了一系列打印图案的练习，该任务是打印用“*”组成的K形图案。
        Scanner sc = new Scanner(System.in);
        while(sc.hasNext()){
            int a = sc.nextInt();//用来接收行数
            for (int i = a + 1; i > 1; i--) {
                for (int j = 0; j < i; j++) {
                    System.out.print("* ");
                }
                System.out.println();
            }
            System.out.println("*");
            int count = 2;
            for (int i = 0; i < a ; i++) {
                for(int j = 0;j < count;j++){
                    System.out.print("* ");
                }
                count++;
                System.out.println();
            }
        }
    }//BC64 K形图案
    public static void main5(String[] args) {
        Scanner sc = new Scanner(System.in);
        while(sc.hasNext()) {
            int a = sc.nextInt();//用来接收输入数字，也是行数
            int count = a;//用来控制空格输出
            for (int i = 0; i < a; i++) {
                for (int j = count - 1; j >= 0; j--) {
                    System.out.print(" ");
                }
                for (int j = 0; j <= i; j++) {
                    System.out.print("* ");
                }
                count--;
                System.out.println();
            }
            for (int i = 0; i < (a + 1); i++) {
                System.out.print("* ");
            }
            System.out.println();
            count = 0;//用来控制空格输出
            for (int i = a; i > 0; i--) {
                for (int j = 0; j <= count; j++) {
                    System.out.print(" ");
                }
                for (int j = i; j > 0; j--) {
                    System.out.print("* ");
                }
                System.out.println();
                count++;
            }
        }
        sc.close();
    }//BC63 菱形图案
    public static void main4(String[] args) {
        Scanner sc = new Scanner(System.in);
        while(sc.hasNext()){
            int a = sc.nextInt();//用来接收输入数字，也是行数
             int count = 0;//用来控制空格输出
            for (int i = a; i > 0; i--) {
                for(int j = 0;j < count;j++){
                    System.out.print(" ");
                }
                for (int j = i; j >0; j--) {
                    System.out.print("* ");
                }
                System.out.println();
                count++;
            }
        }
        sc.close();
    }//BC62 翻转金字塔图案
    public static void main3(String[] args) {
        //KiKi学习了循环，BoBo老师给他出了一系列打印图案的练习，该任务是打印用“*”组成的金字塔图案。
        Scanner sc = new Scanner(System.in);
        while(sc.hasNext()){
            int a = sc.nextInt();//用来接收输入数字，也是行数
            int count = a;//用来控制空格输出
            for (int i = 0; i < a; i++) {
                for(int j = count - 1;j > 0;j--){
                    System.out.print(" ");
                }
                for (int j = 0; j <= i; j++) {
                    System.out.print("* ");
                }
                count--;
                System.out.println();
            }
        }
        sc.close();
    }//BC61 金字塔图案
    public static void main2(String[] args) {
        //KiKi实现一个简单计算器，实现两个数的“加减乘除”运算，用户从键盘输入算式“操作数1运算符操作数2”，计算并输出表达式的值，
        // 如果输入的运算符号不包括在（+、-、*、/）范围内，输出“Invalid operation!”。当运算符为除法运算，即“/”时。
        // 如果操作数2等于0.0，则输出“Wrong!Division by zero!”
        Scanner sc = new Scanner(System.in);
        while(sc.hasNext()){
        double a = sc.nextDouble();
        String str = sc.next();
        double b = sc.nextDouble();
        switch (str){
            case "+":
                System.out.printf("%.4f+%.4b=%.4f\n",a,b,a+b);
                break;
            case "-":
                System.out.printf("%.4f-%.4b=%.4f\n",a,b,a-b);
                break;
            case "*":
                System.out.printf("%.4f*%.4b=%.4f\n",a,b,a*b);
                break;
            case "/":
                if(b == 0){
                    System.out.println("Invalid operation!");
                    break;
                }
                System.out.printf("%.4f/%.4b=%.4f\n",a,b,a*b);
                break;
            default:
                System.out.println("Invalid operation!");
            }
        }
        sc.close();
    }//BC55 简单计算器
    public static void main1(String[] args) {
            Scanner sc = new Scanner(System.in);
            while (sc.hasNext()) {
                double a = sc.nextDouble();
                double b = sc.nextDouble();
                double c = sc.nextDouble();
                double key = b * b - 4 * a * c;//用来区分根的情况
                if (a == 0) {
                    System.out.println("Not quadratic equation");
                } else {
                    double t1 = -b / (2 * a);
                    double t2 = (-b - Math.sqrt(key)) / (2 * a);
                    double t3 = (-b + Math.sqrt(key)) / (2 * a);
                    double t4 =Math.sqrt(-key) / (2 * a);
                    if (key == 0) {
                        System.out.printf("x1=x2=%.2f\n", t1);
                    } else if (key > 0) {
                        System.out.printf("x1=%.2f;x2=%.2f\n", t2, t3);
                    } else {
                        System.out.printf("x1=%.2f-%.2fi;x2=%.2f+%.2fi\n", t1,t4,t1,t4);
                    }
                }
            }
            sc.close();
    }//BC53 计算一元二次方程
}
